package com.zlc.workflow.core.process.model;

import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;

import java.util.List;

/**
 * 事件配置
 */
@Getter
@Setter
@Accessors(chain = true)
public class ProcessEventConfig {

    /**
     * 事件ID
     */
    @ApiModelProperty(value="事件ID")
    private String eventId;

    /**
     * 事件触发 TASK_ARRIVE|TASK_END_|TASK_BE_REJECT|REJECT_NOW_TASK
     */
    @ApiModelProperty(value="事件触发 流程被终止 PROCESS_TERMINATION | 任务到达 TASK_ARRIVE | 任务结束 TASK_END | 任务被退回 TASK_BE_REJECT | 退回当前任务 REJECT_NOW_TASK")
    private String eventTime;

    /**
     * 事件类型 READ_NODE 发送待阅|AUTO_EXEC 自动处理
     */
    @ApiModelProperty(value="事件类型 READ_NODE 发送待阅 | AUTO_EXEC 自动处理")
    private String eventType;

    /**
     * 自动处理方式 HTTP|MQ
     */
    @ApiModelProperty(value="自动处理方式 HTTP|MQ")
    private String handType;

    /**
     * 外部接口ID
     */
    @ApiModelProperty(value="外部接口ID")
    private String interId;

    /**
     * 外部接口名称
     */
    @TableField(value="inter_name_")
    private String interName;

    /**
     * 序号
     */
    @ApiModelProperty(value="序号")
    private Integer order;

    @ApiModelProperty(value="配置发送待阅")
    private List<NodeApproveUserConfig> userConfigList;
}
